/* eslint-disable no-console */
// 在index.js中引入axios
import axios from 'axios'

// 引入qs模块，用来序列化post类型的数据
// 创建axios实例
const service = axios.create({
  // 这里可以放一下公用属性等。
  // baseURL: process.env.NODE_ENV === 'development' ? '/api' : process.env.REACT_APP_BASE_URL + 'api',
  // 请求头
  headers: {},
  timeout: 10000
})

// 请求拦截器
service.interceptors.request.use((config) => {
  // 这里可以进行请求加密等操作。如添加token,cookie，修改数据传输格式等。
  // config.headers.token = ""
  config.headers['Content-type'] = 'application/json'
  return config
})

service.interceptors.response.use(
  (response) => {
    return response
  },
  (error) => {
    // 请求失败进行的操作
    console.log(error)
    switch (error.response?.status) {
      case 401:
        console.log('未登录')
        break
      case 404:
        console.log(404)
        break
      case 500:
        console.log('服务器开小差了,稍后再试试吧')
        break
      default:
        console.log('未知错误')
        break
    }
    return Promise.reject(error)
  }
)

export default service
